/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package CONTABILIDAD_MODELO;

import Conexion.Conexion;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.http.HttpServletRequest;

/**
 *
 * @author equipo_2
 */
public class HiloReporte implements Runnable{

     private String consulta;
     
    public HiloReporte(String consulta, Conexion con) {
        this.consulta = consulta;
        this.con = con;
    }
    private Conexion con;
    private double sumados;
    private String html="";
  
    @Override
    public void run() {
         try {
             proceso();
         } catch (SQLException ex) {
             Logger.getLogger(HiloReporte.class.getName()).log(Level.SEVERE, null, ex);
         }
    }
   private boolean estado=false;
     public void proceso() throws SQLException{
        ResultSet rs = con.EjecutarConsulta(consulta);
        List<Double> acumulativo = new ArrayList<>();
        int pos=0;
        while(rs.next())
        {
            double total =rs.getDouble("TOTAL");
            
                if(acumulativo.size()<=pos)
                    acumulativo.add(total);
                else
                    acumulativo.set(pos,acumulativo.get(pos)+total);

                if(acumulativo.get(pos)>=0)
                    html+="<span style=' width:120px; text-align:center; display: inline-block'>"+CON_AJUSTE_REDONDEO.truncarDecimal(acumulativo.get(pos))+"</span>_"+rs.getString("codigo")+"*";
                else
                    html+="<span style=' width:120px; text-align:center; display: inline-block'>("+CON_AJUSTE_REDONDEO.truncarDecimal((acumulativo.get(pos)*-1))+")</span>_"+rs.getString("codigo")+"*";

                sumados+=acumulativo.get(pos);
                pos++;
            }
            estado=true;
    }

    public String getConsulta() {
        return consulta;
    }

    public void setConsulta(String consulta) {
        this.consulta = consulta;
    }

    public Conexion getCon() {
        return con;
    }

    public void setCon(Conexion con) {
        this.con = con;
    }

    public double getSumados() {
        return sumados;
    }

    public void setSumados(double sumados) {
        this.sumados = sumados;
    }

    public String getHtml() {
        return html;
    }

    public void setHtml(String html) {
        this.html = html;
    }

    public boolean isEstado() {
        return estado;
    }

    public void setEstado(boolean estado) {
        this.estado = estado;
    }
     
     
    
}
